package com.open.system.model.dto;

import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 导入结果DTO
 *
 * @author 赵浩埼
 * @date 2025-10-29
 */
@Data
public class ImportResultDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 成功数量
     */
    private Integer successCount = 0;

    /**
     * 总数量
     */
    private Integer totalCount = 0;

    /**
     * 错误日志列表（格式：xx导入错误,原因(具体原因)）
     */
    private List<String> errorList = new ArrayList<>();

    /**
     * 是否有错误
     */
    public boolean hasError() {
        return errorList != null && !errorList.isEmpty();
    }

    /**
     * 添加错误日志
     */
    public void addError(String name, String errorMsg) {
        errorList.add(String.format("%s导入错误,原因(%s)", name, errorMsg));
    }

    /**
     * 获取结果描述
     */
    public String getResultMessage() {
        if (!hasError()) {
            return "数据导入成功";
        }
        return String.format("成功录入 %d 条，总数量 %d 条, 错误原因 %s", successCount, totalCount, errorList);
    }
}

